Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 3DVar and error covariance toolbox (dirac test) main programs. #106

Merged
merged 24 commits into from
Oct 10, 2024

Conversation

frld
Copy link
Contributor

@frld frld commented Jul 26, 2024

Description

This PR adds 3DVar assimilation and error covariance toolbox main programs along with a very basic tests with no background error correlations.

See #88 for the original plan for the implementation of assimilation in orca-jedi. Modified plan after this PR

Issue(s) addressed

N/A

Dependencies

List the other PRs that this PR is dependent on:

  • N/A

Impact

Expected impact on downstream repositories or workflows:
None

Checklist

  • I have updated the unit tests to cover the change
  • New functions are documented briefly via Doxygen comments in the code
  • I have linted my code using cpplint
  • I have run the unit tests
  • I have run mo-bundle to check integration with the rest of JEDI and run the unit tests under all environments

@frld frld self-assigned this Jul 26, 2024
@frld frld requested a review from twsearle as a code owner July 26, 2024 09:46
@frld frld mentioned this pull request Jul 26, 2024
5 tasks
@frld frld marked this pull request as draft July 26, 2024 12:37
@twsearle
Copy link
Collaborator

OK! I am just going to fiddle with the tags so that the ci container is associated with your branch. Its just admin, but it might mean that the ci wont work on this branch for an hour or two.

@frld
Copy link
Contributor Author

frld commented Sep 24, 2024

I'd like to put this forward for review. It's the basic implementation of orca-jedi assimilation. It's still very simple with no spatial covariances. Still it's a bit of a milestone.

The main code changes are to add 3DVar and error covariance toolbox (Dirac) executables and associated yaml files to run new ctests of these executables. In the case of 3DVar the tests assimilates a set of idealised observations. I added a few more methods which were needed for 3DVar. There a couple of methods added for interpolating from obs locations to model fields and vice versa. All of these new methods have new unit tests added.

The bbb tests all succeeded (http://fcm1/cylc-review/taskjobs/frld/?suite=mo-bundle-orca-jedi-3dvar). There are 6 tests still running as I write this.

@frld frld marked this pull request as ready for review September 24, 2024 17:10
@frld
Copy link
Contributor Author

frld commented Sep 24, 2024

OK! I am just going to fiddle with the tags so that the ci container is associated with your branch. Its just admin, but it might mean that the ci wont work on this branch for an hour or two.

Back in business and the CI test worked. Thanks!

@frld
Copy link
Contributor Author

frld commented Sep 25, 2024

I'd like to put this forward for review. It's the basic implementation of orca-jedi assimilation. It's still very simple with no spatial covariances. Still it's a bit of a milestone.

The main code changes are to add 3DVar and error covariance toolbox (Dirac) executables and associated yaml files to run new ctests of these executables. In the case of 3DVar the tests assimilates a set of idealised observations. I added a few more methods which were needed for 3DVar. There a couple of methods added for interpolating from obs locations to model fields and vice versa. All of these new methods have new unit tests added.

The bbb tests all succeeded (http://fcm1/cylc-review/taskjobs/frld/?suite=mo-bundle-orca-jedi-3dvar). There are 6 tests still running as I write this.

Confirmed all bbb tasks pass. One task ctest_jjtests_dirac_b_C192__spice_gnu_debug ran out wallclock first time but succeeded on retriggering.

Copy link
Collaborator

@twsearle twsearle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its looking great!

I have a few thoughts, particularly in the interpolator. I also am struggling to get an interactive build right now (I seem to have borked my setup) Hopefully I will be able to run and explore the tests tomorrow. I am a bit unclear on how the dirac test works, aside from checking that the configuration can run at all? Is there any way we can check against a test reference?

src/orca-jedi/increment/Increment.cc Outdated Show resolved Hide resolved
src/orca-jedi/interpolator/Interpolator.cc Show resolved Hide resolved
src/orca-jedi/interpolator/Interpolator.cc Show resolved Hide resolved
src/orca-jedi/state/State.cc Outdated Show resolved Hide resolved
src/orca-jedi/variablechanges/LinearVariableChange.cc Outdated Show resolved Hide resolved
src/orca-jedi/variablechanges/LinearVariableChange.h Outdated Show resolved Hide resolved
src/mains/CMakeLists.txt Show resolved Hide resolved
@frld
Copy link
Contributor Author

frld commented Oct 2, 2024

Its looking great!

I have a few thoughts, particularly in the interpolator. I also am struggling to get an interactive build right now (I seem to have borked my setup) Hopefully I will be able to run and explore the tests tomorrow. I am a bit unclear on how the dirac test works, aside from checking that the configuration can run at all? Is there any way we can check against a test reference?

Thanks Toby. It looks like I can commit your suggestions so I'll give them all a go and report back. On the Dirac executable test it just tests that it runs at the moment. I think you have some H(x) tests that check against reference data I'll have a go at copying this approach in my dirac and 3dvar tests.

Copy link
Collaborator

@twsearle twsearle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, @frld are you happy for me to merge?

@frld
Copy link
Contributor Author

frld commented Oct 10, 2024

Looks good to me, @frld are you happy for me to merge?

Thanks! Yes please do merge.

@twsearle twsearle merged commit 0055788 into develop Oct 10, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants